package view;

import java.util.ArrayList;

import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.uqbar.arena.Application;
import org.uqbar.arena.windows.Window;

import ApplicationModels.GestionTiendaAppModel;
import Domain.Asignacion;
import Domain.Compromiso;
import Domain.Dia;
import Domain.Disponibilidad;
import Domain.Empleado;
import Domain.Planificacion;
import Domain.Tienda;

public class GestionTiendaApplication extends Application {

	@Override
	protected Window<?> createMainWindow() {

		Tienda tienda = new Tienda();
		Empleado emp1 = new Empleado();
		Empleado emp2 = new Empleado();
		Empleado emp3 = new Empleado();
		Disponibilidad dispo = new Disponibilidad(new LocalTime(10, 00),
				new LocalTime(18, 00));

		Disponibilidad dispo2 = new Disponibilidad(new LocalTime(7, 00),
				new LocalTime(15, 00));

		Disponibilidad dispo3 = new Disponibilidad(new LocalTime(9, 00),
				new LocalTime(17, 00));

		dispo3.setDia(Dia.MARTES);
		dispo2.setDia(Dia.LUNES);
		dispo.setDia(Dia.DOMINGO);

		emp1.setNombreYApellido("Mariano Markon");
		emp1.setLegajo("1");
		emp1.agregarDisponibilidad(dispo);

		emp2.setNombreYApellido("Guido Pujadas");
		emp2.setLegajo("2");
		emp2.agregarDisponibilidad(dispo2);
		emp2.agregarDisponibilidad(dispo);

		emp3.setNombreYApellido("Santiago Markon");
		emp3.setLegajo("3");
		emp3.agregarDisponibilidad(dispo);
		emp3.agregarDisponibilidad(dispo2);
		emp3.agregarDisponibilidad(dispo3);

		tienda.agregarCompromiso(new Compromiso(emp1, new LocalDate()));
		tienda.agregarCompromiso(new Compromiso(emp2, new LocalDate()));

		tienda.agregarEmpleado(emp1);
		tienda.agregarEmpleado(emp2);

		LocalTime desde = new LocalTime(9, 00);
		LocalTime hasta = new LocalTime(15, 00);

		// PlanificacionAppModel paa = new PlanificacionAppModel();
		Planificacion dia1 = new Planificacion(new LocalDate(2014, 04, 28));
		Planificacion dia2 = new Planificacion(new LocalDate(2014, 04, 29));
		Planificacion dia3 = new Planificacion(new LocalDate(2014, 04, 30));
		Planificacion dia4 = new Planificacion(new LocalDate(2014, 05, 01));
		Planificacion dia5 = new Planificacion(new LocalDate(2014, 05, 02));
		Planificacion dia6 = new Planificacion(new LocalDate(2014, 05, 03));
		dia1.agregarAsignacion(new Asignacion(emp2, desde, hasta));
		dia1.agregarAsignacion(new Asignacion(emp1, desde, hasta));
		dia1.agregarAsignacion(new Asignacion(emp3, new LocalTime(6,00),new LocalTime(12,00)));
		// Planificacion planificacion = new Planificacion(new LocalDate(2014,
		// 05,
		// 01));
		//
		// // List<Asignacion> listaAsignaciones = new ArrayList<Asignacion>();
		//
		// tienda.listaAsignaciones.add(asig);

		ArrayList<Planificacion> listaPlanificaciones = new ArrayList<Planificacion>();
		listaPlanificaciones.add(dia1);
		listaPlanificaciones.add(dia2);
		listaPlanificaciones.add(dia3);
		listaPlanificaciones.add(dia4);
		listaPlanificaciones.add(dia5);
		listaPlanificaciones.add(dia6);

		tienda.setListaPlanificaciones(listaPlanificaciones);

		return new GestionTiendaWindow(this, new GestionTiendaAppModel(tienda));

	}

	public static void main(String[] args) {

		new GestionTiendaApplication().start();
	}

}
